package test.springboot.config;

import top.lingkang.finalsession.FinalSessionConfig;
import top.lingkang.finalsession.core.FinalSessionHandler;
import top.lingkang.finalsession.javax.FinalSessionFilter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @author lingkang
 * Created by 2024/3/10
 */
//@Configuration
//@Order(-1995)
public class MySessionConfig extends FinalSessionFilter {
    @Override
    protected void configurer(FinalSessionConfig config) {
        // 自定义ID的获取、设置方式
        config.setSessionHandler(new FinalSessionHandler<HttpServletRequest, HttpServletResponse>() {
            @Override
            public String getSessionId(HttpServletRequest request, String name) {
                // 获取会话id的方式，可以通过 请求头、请求参数、cookie中获取
                // 从cookie中
                // 从参数中
                // 从请求头中
                return request.getHeader("token");// 这只是一个demo
            }

            @Override
            public void setSessionId(HttpServletResponse response, String name, String value) {
                // 前后端分离，可以不设置session id到cookie
            }
        });
    }
}
